package com.meituan.sdk.model.ddzhkh.generalreserve.generalreserveReserveQueryorder;

import com.meituan.sdk.annotations.ApiMeta;
import java.util.List;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 预约单查询
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzhkh/generalreserve/reserve/queryorder",
    businessId = 59,
    apiVersion = "10011",
    apiName = "generalreserve_reserve_queryorder",
    needAuth = true
)
public class GeneralreserveReserveQueryorderRequest implements MeituanRequest<List<ThirdResvOrderDTO>> {
    /**
    * <p data-diff-id="ct-diff-id-3e25a9f1-4f23-4acc-91ce-02942e57bf2c"><span style="color: rgb(31, 45, 61)">预约单id</span></p>
    */
    @NotNull(message = "leadsId不能为空")
    @SerializedName("leadsId")
    private Long leadsId;
    /**
    * <p data-diff-id="ct-diff-id-133cc027-28b7-4470-ade9-0027acf0acd8"><span style="color: rgba(0, 0, 0, 0.65)">美团门店id</span></p><p data-diff-id="ct-diff-id-0396e2e4-1d43-4e00-ae93-457f0f33208a"><span style="color: rgba(0, 0, 0, 0.87)">该字段是混淆字段，实际值类型为混淆后的字符串类型</span></p>
    */
    @NotBlank(message = "opPoiId不能为空")
    @SerializedName("opPoiId")
    private String opPoiId;
    /**
    * <p data-diff-id="ct-diff-id-5adb6fbb-4526-4137-8c14-58d2cce27244"><span style="color: rgb(31, 45, 61)">用户电话</span></p>
    */
    @SerializedName("userPhone")
    private String userPhone;
    /**
    * <p data-diff-id="ct-diff-id-f75d6959-f812-43b4-b999-8eedcb2b673b"><span style="color: rgb(31, 45, 61)">到店时间结束时间</span></p>
    */
    @SerializedName("orderTimeEndStr")
    private String orderTimeEndStr;
    /**
    * <p data-diff-id="ct-diff-id-61b0d51c-c0b4-42f2-935a-109a02d09be7"><span style="color: rgb(31, 45, 61)">到店时间开始时间</span></p>
    */
    @SerializedName("orderTimeStartStr")
    private String orderTimeStartStr;

    public Long getLeadsId() {
        return leadsId;
    }
    public void setLeadsId(Long leadsId) {
        this.leadsId = leadsId;
    }
    public String getOpPoiId() {
        return opPoiId;
    }
    public void setOpPoiId(String opPoiId) {
        this.opPoiId = opPoiId;
    }
    public String getUserPhone() {
        return userPhone;
    }
    public void setUserPhone(String userPhone) {
        this.userPhone = userPhone;
    }
    public String getOrderTimeEndStr() {
        return orderTimeEndStr;
    }
    public void setOrderTimeEndStr(String orderTimeEndStr) {
        this.orderTimeEndStr = orderTimeEndStr;
    }
    public String getOrderTimeStartStr() {
        return orderTimeStartStr;
    }
    public void setOrderTimeStartStr(String orderTimeStartStr) {
        this.orderTimeStartStr = orderTimeStartStr;
    }


    @Override
    public MeituanResponse<List<ThirdResvOrderDTO>> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<List<ThirdResvOrderDTO>>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "GeneralreserveReserveQueryorderRequest{" + "leadsId=" + leadsId + "," + "opPoiId=" + opPoiId + "," + "userPhone=" + userPhone + "," + "orderTimeEndStr=" + orderTimeEndStr + "," + "orderTimeStartStr=" + orderTimeStartStr + "}";
    }
}
